/alpha 0 def
/dalpha 15.5 def
/iter 0 def
/int 4 def
/y 0 def
/x 0 def
/dist 40 def


0 0 moveto 0 800 lineto 
650 800 lineto 650 0 lineto closepath
1 1 0.3 setrgbcolor fill


300 700 translate
-108 rotate
0.3 0.3 scale


1 setlinewidth
1 setlinejoin
1 setlinecap


/T {
newpath
x y moveto
dist alpha  cos mul dup x add /x exch def
dist alpha  sin mul dup y add /y exch def
rlineto
stroke} def

0 srand
/rcolor {
0 rand 100 mod 100 div 0 setrgbcolor

%usun procent ponizej dla 'psycho' wygladu choinki
%3 {rand 100 mod 100 div} repeat setrgbcolor

} def

/S {/savedpx x def /savedpy y def}def

/G {/x savedpx def /y savedpy def}def

/+ {/alpha alpha dalpha add def} def

/- {/alpha alpha dalpha sub def} def

/F {
/iter iter 1 add def
iter int eq
 {rcolor T}
{F F - S - F + F + F G + S + F - F - F G}
ifelse
/iter iter 1 sub def
}def


150{

0.4 rotate
F
/x 0 def

}repeat




